package com.zhiyou100.abstract_demo1;

/**
 * 宠物类
 * abstract:抽象   可以修饰类以及方法
 *  修饰方法：抽象方法，没有方法体的
 *  修饰类： 抽象类   它不是一个完整的类，只能作为父类存在
 *      抽象类不能直接被实例化：因为它不是一个完整的类
 *  具体类： 属性  方法
 *  抽象类内部：属性、方法、抽象方法
 *  一旦抽象类作为某个具体类的父类时，子类必须重写抽象类中所有的抽象方法
 *
 *  抽象类中必须有抽象方法么？  错误
 *  抽象方法必须在抽象类中么？  错误
 *  一旦类继承抽象类，必须重写父类的抽象方法么？  错误  如果是抽象类继承抽象类呢
 */
public abstract class Pet extends Animals{
    //宠物名字
    private String name;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    //玩耍   抽象
    public abstract void play();
    //吃   抽象
    public abstract void eat();

    //洗澡
    public void lave(){
        System.out.println("宠物" + name + "在水里洗澡");
    }

}
